package com.koron.css2.clientCenter.mapper;

import com.koron.css2.clientCenter.bean.MeterReaderBean;
import com.koron.css2.clientCenter.bean.ValveOpenBean;
import com.koron.css2.clientCenter.bean.ValvePostMsgBean;
import com.koron.css2.clientCenter.queryBean.ValveUserQuery;
import com.koron.css2.clientCenter.vo.ValveUserQueryVo;
import com.koron.css2.meterService.bean.MsInfoBean;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author cd
 * 用户阀门状态 1开阀 2待开阀 3关阀 4待关阀
 * -1开阀异常
 * -3关阀异常
 */
public interface ValveUserMapper {

    /**
     * 根据用户还批量查出抄表员id+姓名 水表信息
     *
     * @author cd
     */

    List<MeterReaderBean> selectMeterReaderList(@Param("idList") List<String> idList);

    /**
     * 查出欠费账单数和欠费金额
     *
     * @author cd
     */

    List<ValveUserQueryVo> getUserBill(ValveUserQuery query);

    List<ValveUserQueryVo> getCloseHistoryFee(@Param("userList") List<String> userList);

    void closeValve(String userNo);

    void cancelCloseValve(String userNo);

    String getValveStatus(String userNo);

    MsInfoBean getMsInfoByMeterNo(String meterNo);

    void updateUserValveStatus(@Param("billId") String billId);


    List<ValvePostMsgBean> selectListByAccount(@Param("accountList") List<String> accountList);

    void openValve(String userNo);

    ValveOpenBean getMsgToOpen(@Param("userNo") String userNo);
}
